/**
 *\file carte.c
 *\author Raphaël Diana
 */
#include "carte.h"


void creerCarte(Carte* carte)
{
    assert(carte!=NULL);
    carte->couleur=AUCUNE;
    carte->face=ZERO;
}

int getValeurCarte(const Carte* carte)
{
    assert(carte!=NULL);
    switch(carte->face)
    {
    case AUCUNE:
        return 0;
        break;
    case DEUX:
        return 2;
        break;
    case TROIS:
        return 3;
        break;
    case QUATRE:
        return 4;
        break;
    case CINQ:
        return 5;
        break;
    case SIX:
        return 6;
        break;
    case SEPT:
        return 7;
        break;
    case HUIT:
        return 8;
        break;
    case NEUF:
        return 9;
        break;
    case DIX:
        return 10;
        break;
    case VALET:
        return 10;
        break;
    case DAME:
        return 10;
        break;
    case ROI:
        return 10;
        break;
    case AS:
        return 11;
        break;
    default:
        return -1;
    }
}

enseigne getCouleurCarte(const Carte* carte)
{
    assert(carte!=NULL);
    return carte->couleur;
}

recto getFaceCarte(const Carte* carte)
{
    assert(carte!=NULL);
    return carte->face;
}

void setCouleurCarte(Carte* carte, enseigne couleur)
{
    assert(carte!=NULL);
    carte->couleur=couleur;
}

void setFaceCarte(Carte* carte, recto face)
{
    assert(carte!=NULL);
    carte->face=face;
}

void afficherCarte(const Carte* carte)
{
    assert(carte!=NULL);
    switch(getFaceCarte(carte))
    {
    case AUCUNE:
        printf("  vide! ");
        break;
    case DEUX:
        printf("| 2     ");
        break;
    case TROIS:
        printf("| 3     ");
        break;
    case QUATRE:
        printf("| 4     ");
        break;
    case CINQ:
        printf("| 5     ");
        break;
    case SIX:
        printf("| 6     ");
        break;
    case SEPT:
        printf("| 7     ");
        break;
    case HUIT:
        printf("| 8     ");
        break;
    case NEUF:
        printf("| 9     ");
        break;
    case DIX:
        printf("| 10    ");
        break;
    case VALET:
        printf("| Valet ");
        break;
    case DAME:
        printf("| Dame  ");
        break;
    case ROI:
        printf("| Roi   ");
        break;
    case AS:
        printf("| As    ");
        break;
    default:
        printf("ERREUR! ");

    }
    switch(getCouleurCarte(carte))
    {
    case AUCUNE:
        printf("Aucune   ");
        break;
    case CARREAU:
        printf("Carreau |");
        break;
    case COEUR:
        printf("  Coeur |");
        break;
    case PIQUE:
        printf("  Pique |");
        break;
    case TREFLE:
        printf(" Trefle |");
        break;
    default:
        printf(" ERREUR! ");
    }
}

